// IBookInterface.aidl
package com.ly.aidlpratice;

//导入Bean.aidl文件；
//因为Book类定义在不同的包（com.ly.aidlpratice.bean）内，
//所以需要在com.ly.aidlpratice.bean包下创建一个aidl文件引入Book类，
//再在这个文件中导入创建的文件
import com.ly.aidlpratice.bean.Bean;
import com.ly.aidlpratice.IBookCallback;

interface IBookInterface {

    Book getBook();

    List<Book> getAllBook();

    boolean isContainBook(String name);

    oneway void updateBookPrice(int code,float price);

    float getBookPrice(int code);

    void insertBook(in Book book);

    void insertBookList(in List<Book> list);

    //不支持泛型 Map
    Map getBookMap();

    Map insertBookMapIn(in Map map);

    Map insertBookMapOut(out Map map);

    Map insertBookMapInout(inout Map map);

    void registerCallback(IBookCallback callback);

    void unregisterCallback(IBookCallback callback);
}